import dayjs from 'dayjs'
import utc from 'dayjs/plugin/utc'
import timezone from 'dayjs/plugin/timezone'

// 扩展插件
dayjs.extend(utc)
dayjs.extend(timezone)

/**
 * 格式化 ISO 时间字符串
 * @param isoString - ISO 时间字符串
 * @param format - 目标格式（默认：YYYY-MM-DD HH:mm:ss）
 * @param timeZone - 时区（默认：系统时区）
 */
export function formatTime(
  isoString: string,
  format: string = 'YYYY-MM-DD HH:mm:ss',
  timeZone: string = dayjs.tz.guess()
): string {
  if (!isoString) return '-'
  
  try {
    return dayjs(isoString)
      .utc()  // 先按UTC时间解析
      .tz(timeZone)  // 转换为目标时区
      .format(format)
  } catch (e) {
    console.error('时间格式化失败:', e)
    return '-'
  }
}